Automatic Formal Proof of Liveness for Pipelined Microprocessors
نویسنده
چکیده
The paper presents an indirect method to automatically prove liveness for pipelined microprocessors. This is done by first proving safety—correctness for one step, starting from an arbitrary initial state that is possibly restricted by invariant constraints. By induction, the implementation will be correct for any number of steps; we need to prove that for some fixed number of steps, n, the implementation will fetch at least one instruction that will be completed. This was proved efficiently by using the property of Positive Equality. Modeling restrictions made the method applicable to designs with exceptions and branch prediction. The indirect method and the modeling restrictions resulted in 4 orders of magnitude speedup, enabling the automatic liveness proof for dual-issue superscalar and VLIW designs.
منابع مشابه
Formal verification of pipelined microprocessors
Subject of this thesis is the formal verification of pipelined microprocessors. This includes processors with state of the art schedulers, such as the Tomasulo scheduler and speculation. In contrast to most of the literature, we verify synthesizable design at gate level. Furthermore, we prove both data consistency and liveness. We verify the proofs using the theorem proving system PVS. We verif...
متن کاملAutomatic Formal Verification of Liveness for Pipelined Processors with Multicycle Functional Units
Presented is a highly automatic approach for proving bounded liveness of pipelined processors with multicycle functional units, without the need for the user to set up an inductive argument. Multicycle functional units are abstracted with a placeholder that is suitable for proving both safety and liveness. Abstracting the branch targets and directions with arbitrary terms and formulas, respecti...
متن کاملProof of Correctness of a Processor with Reorder Buuer Using the Completion Functions Approach ?
The Completion Functions Approach was proposed in HSG98] as a systematic way to decompose the proof of correctness of pipelined microprocessors. The central idea is to construct the abstraction function using completion functions, one per unnnished instruction, each of which speciies the eeect (on the observables) of completing the instruction. In this paper, we show that this \instruction-cent...
متن کاملA Proof of Correctness of a
The Completion Functions Approach was proposed in HSG98] as a systematic way to decompose the proof of correctness of pipelined microprocessors. The central idea is to construct the abstraction function using completion functions, one per unnnished instruction, each of which speciies the eeect (on the observables) of completing the instruction. However, its applicability depends on the fact tha...
متن کاملFormal Design Verification for Correctness of Pipelined Microprocessors with Out-of-order Instruction Execution
In this paper, we propose a verification method for pipelined microprocessors with out-of-order execution. We define a class of pipelined microprocessors with out-of-order execution and give a sufficient condition that guarantees the correctness of implementation. Each microprocessor in this class has a pipeline stg 1 ; : : : ; stg n such that the stages stg c ; : : : ; stg n are so-called “ino...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998